Channel calibration for a time division duplexed communication system

ABSTRACT

Techniques to calibrate the downlink and uplink channels to account for differences in the frequency responses of the transmit and receive chains at an access point and a user terminal. In one embodiment, pilots are transmitted on the downlink and uplink channels and used to derive estimates of the downlink and uplink channel responses, respectively. Two sets of correction factors are then determined based on the estimates of the downlink and uplink channel responses. A calibrated downlink channel is formed by using a first set of correction factors for the downlink channel, and a calibrated uplink channel is formed by using a second set of correction factors for the uplink channel. The first and second sets of correction factors may be determined using a matrix-ratio computation or a minimum mean square error (MMSE) computation. The calibration may be performed in real-time based on over-the-air transmission.

CLAIM OF PRIORITY UNDER 35 U.S.C. §119

This application claims the benefit of U.S. Provisional Application Ser.No. 60/421,462, entitled, “Channel Calibration for a Time DivisionDuplexed Communication System,” and U.S. Provisional Application Ser.No. 60/421,309, entitled, “MIMO WLAN System,” both of which are filed onOct. 25, 2002, assigned to the assignee of the present application, andincorporated herein by reference.

BACKGROUND

1. Field

The present invention relates generally to communication, and morespecifically to techniques for calibrating downlink and uplink channelresponses in a time division duplexed (TDD) communication system.

2. Background

In a wireless communication system, data transmission between an accesspoint and a user terminal occurs over a wireless channel. Depending onthe system design, the same or different frequency bands may be used forthe downlink and uplink. The downlink (or forward link) refers totransmission from the access point to the user terminal, and the uplink(or reverse link) refers to transmission from the user terminal to theaccess point. If two frequency bands are available, then the downlinkand uplink may be transmitted on separate frequency bands usingfrequency division duplexing (FDD). If only one frequency band isavailable, then the downlink and uplink may share the same frequencyband using time division duplexing (TDD).

To achieve high performance, it is often necessary to know the frequencyresponse of the wireless channel. For example, the response of thedownlink channel may be needed by the access point to perform spatialprocessing (described below) for downlink data transmission to the userterminal. The downlink channel response may be estimated by the userterminal based on a pilot transmitted by the access point. The userterminal may then send the channel estimate back to the access point forits use. For this channel estimation scheme, a pilot needs to betransmitted on the downlink and additional delays and resources areincurred to send the channel estimate back to the access point.

For a TDD system with a shared frequency band, the downlink and uplinkchannel responses may be assumed to be reciprocal of one another. Thatis, if H represents a channel response matrix from antenna array A toantenna array B, then a reciprocal channel implies that the couplingfrom array B to array A is given by H ^(T), where M ^(T) denotes thetranspose of matrix M. Thus, for a TDD system, the channel response forone link may be estimated based on a pilot sent on the other link. Forexample, the uplink channel response may be estimated based on an uplinkpilot, and the transpose of the uplink channel response estimate may beused as an estimate of the downlink channel response.

However, the frequency responses of the transmit and receive chains atthe access point are typically different from the frequency responses ofthe transmit and receive chains at the user terminal. In particular, thefrequency responses of the transmit/receive chains used for uplinktransmission may be different from the frequency responses of thetransmit/receive chains used for downlink transmission. The “effective”downlink channel response (i.e., including the transmit/receive chains)would then be different from the reciprocal of the effective uplinkchannel response due to differences in the transmit/receive chains(i.e., the effective channel responses are not reciprocal). If thereciprocal of the channel response estimate obtained for one link isused for spatial processing on the other link, then any difference inthe frequency responses of the transmit/receive chains would representerror that, if not determined and accounted for, may degradeperformance.

There is, therefore, a need in the art for techniques to calibrate thedownlink and uplink channels in a TDD communication system.

SUMMARY

Techniques are provided herein to calibrate the downlink and uplinkchannels to account for differences in the frequency responses of thetransmit and receive chains at the access point and user terminal. Aftercalibration, an estimate of the channel response obtained for one linkmay be used to obtain an estimate of the channel response for the otherlink. This can then simplify the channel estimation and spatialprocessing.

In one embodiment, a method is provided for calibrating the downlink anduplink channels in a wireless TDD multiple-input multiple-output (MIMO)communication system. In accordance with the method, a pilot istransmitted on the uplink channel and used to derive an estimate of theuplink channel response. A pilot is also transmitted on the downlinkchannel and used to derive an estimate of the downlink channel response.Two sets of correction factors are then determined based on theestimates of the downlink and uplink channel responses. A calibrateddownlink channel is formed by using a first set of correction factorsfor the downlink channel, and a calibrated uplink channel is formed byusing a second set of correction factors for the uplink channel. Theappropriate correction factors will be used at the respectivetransmitter for the downlink and uplink channels. The responses of thecalibrated downlink and uplink channels are approximately reciprocal dueto the two sets of correction factors. The first and second sets ofcorrection factors may be determined using a matrix-ratio computation ora minimum mean square error (MMSE) computation, as described below.

The calibration may be performed in real-time based on over-the-airtransmission. Each user terminal in the system may derive the second setof correction factors for its own use. The first set of correctionfactors for the access point may be derived by multiple user terminals.For an orthogonal frequency division multiplexing (OFDM) system, thecalibration may be performed for a first set of subbands to obtain twosets of correction factors for each subband in the set. Correctionfactors for other “uncalibrated” subbands may be interpolated based onthe correction factors obtained for the “calibrated” subbands.

Various aspects and embodiments of the invention are described infurther detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The features, nature, and advantages of the present invention willbecome more apparent from the detailed description set forth below whentaken in conjunction with the drawings in which like referencecharacters identify correspondingly throughout and wherein:

FIG. 1 shows the transmit and receive chains at an access point and auser terminal in a MIMO system;

FIG. 2 illustrates the application of correction factors to account fordifferences in the transmit/receive chains at the access point and userterminal;

FIG. 3 shows a process for calibrating the downlink and uplink channelresponses in a TDD MIMO-OFDM system;

FIG. 4 shows a process for deriving estimates of the correction vectorsfrom the downlink and uplink channel response estimates;

FIG. 5 is a block diagram of the access point and user terminal; and

FIG. 6 is a block diagram of a TX spatial processor.

DETAILED DESCRIPTION

The calibration techniques described herein may be used for variouswireless communication systems. Moreover, these techniques may be usedfor single-input single-output (SISO) systems, multiple-inputsingle-output (MISO) systems, single-input multiple-output (SIMO)systems, and multiple-input multiple-output (MIMO) systems.

A MIMO system employs multiple (N_(T)) transmit antennas and multiple(N_(R)) receive antennas for data transmission. A MIMO channel formed bythe N_(T) transmit and N_(R) receive antennas may be decomposed intoN_(S) independent channels, with N_(S)≦min{N_(T), N_(R)}. Each of theN_(S) independent channels is also referred to as a spatial subchannelor an eigenmode of the MIMO channel and corresponds to a dimension. TheMIMO system can provide improved performance (e.g., increasedtransmission capacity) if the additional dimensionalities created by themultiple transmit and receive antennas are utilized. This typicallyrequires an accurate estimate of the channel response between thetransmitter and receiver.

FIG. 1 shows a block diagram of the transmit and receive chains at anaccess point 102 and a user terminal 104 in a MIMO system. For thissystem, the downlink and uplink share the same frequency band in a timedivision duplexed manner.

For the downlink, at access point 102, symbols (denoted by a “transmit”vector x _(dn)) are processed by a transmit chain (TMTR) 114 andtransmitted from N_(ap) antennas 116 over a wireless channel. At userterminal 104, the downlink signals are received by N_(ut) antennas 152and processed by a receive chain (RCVR) 154 to provide received symbols(denoted by a “receive” vector r _(nd)) The processing by transmit chain114 typically includes digital-to-analog conversion, amplification,filtering, frequency upconversion, and so on. The processing by receivechain 154 typically includes frequency downconversion, amplification,filtering, analog-to-digital conversion, and so on.

For the uplink, at user terminal 104, symbols (denoted by transmitvector x _(up)) are processed by a transmit chain 164 and transmittedfrom N_(ut) antennas 152 over the wireless channel. At access point 102,the uplink signals are received by N_(ap) antennas 116 and processed bya receive chain 124 to provide received symbols (denoted by receivevector r _(up)).

For the downlink, the receive vector at the user terminal may beexpressed as:r _(dn)=R _(ut) HT _(ap) x _(dn),  Eq (1)

-   where x _(dn) is the transmit vector with N_(ap) entries for the    symbols transmitted from the N_(ap) antennas at the access point;    -   r _(dn) is the receive vector with N_(ut) entries for the        symbols received on the N_(ut) antennas at the user terminal;    -   T _(ap) is an N_(ap)×N_(ap) diagonal matrix with entries for the        complex gains associated with the transmit chain for the N_(ap)        antennas at the access point;    -   R _(ut) is an N_(ut)×N_(ut) diagonal matrix with entries for the        complex gains associated with the receive chain for the N_(ut)        antennas at the user terminal; and    -   H is an N_(ut)×N_(ap) channel response matrix for the downlink.        The responses of the transmit/receive chains and the wireless        channel are typically a function of frequency. For simplicity, a        flat-fading channel (i.e., with a flat frequency response) is        assumed.

For the uplink, the receive vector at the access point may be expressedas:r _(up)=R _(ap) H ^(T) T _(ut) x _(up),  Eq (2)

-   where x _(up) is the transmit vector for the symbols transmitted    from the N_(ut) antennas at the user terminal;    -   r _(up) is the receive vector for the symbols received on the        N_(ap) antennas at the access point;    -   T _(ut) is an N_(ut)×N_(ut) diagonal matrix with entries for the        complex gains associated with the transmit chain for the N_(ut)        antennas at the user terminal;    -   R _(ap) is an N_(ap)×N_(ap) diagonal matrix with entries for the        complex gains associated with the receive chain for the N_(ap)        antennas at the access point; and    -   H ^(T) is an N_(ap)×N_(ut) channel response matrix for the        uplink.

For a TDD system, since the downlink and uplink share the same frequencyband, a high degree of correlation normally exists between the downlinkand uplink channel responses. Thus, the downlink and uplink channelresponse matrices may be assumed to be reciprocal (i.e., transposes) ofeach other and denoted H and H ^(T), respectively, as shown in equations(1) and (2). However, the responses of the transmit/receive chains atthe access point are typically not equal to the responses of thetransmit/receive chains at the user terminal. The differences thenresult in the following inequality R _(ap) H ^(T) T _(ut)≠(R _(ut) HT_(ap))^(T).

From equations (1) and (2), the “effective” downlink and uplink channelresponses, H _(dn) and H _(up), which include the responses of theapplicable transmit and receive chains, may be expressed as:H _(dn)=R _(ut) HT _(ap) and H _(up)=R _(ap) H ^(T) T _(ut).  Eq (3)Combining the two equations in equation set (3), the followingrelationship may be obtained:R _(ut) ⁻¹ H _(dn) T _(ap) ⁻¹=( R _(ap) ⁻¹ H _(up) T _(ut) ⁻¹)^(T) =T_(ut) ⁻¹ H _(up) ^(T) R _(ap) ⁻¹.  Eq (4)Rearranging equation (4), the following is obtained:H _(up) ^(T)=T _(ut) R _(ut) ⁻¹ H _(dn) T _(ap) ⁻¹ R _(ap)=K _(ut) ⁻¹ H_(dn) K _(ap)orH _(up)=( K _(ut) ⁻¹ H _(dn) K _(ap))^(T),  Eq (5)

-   where K _(ut)=T _(ut) ⁻¹ R _(ut) and K _(ap)=T _(ap) ⁻¹ R _(ap).    Equation (5) may also be expressed as:    H _(up) K _(ut)=( H _(dn) K _(ap))^(T).  Eq(6)

The left-hand side of equation (6) represents the calibrated channelresponse on the uplink, and the right-hand side represents the transposeof the calibrated channel response on the downlink. The application ofthe diagonal matrices, K _(ut) and K _(ap), to the effective downlinkand uplink channel responses, as shown in equation (6), allows thecalibrated channel responses for the downlink and uplink to be expressedas transposes of each other. The (N_(ap)×N_(ap)) diagonal matrix K _(ap)for the access point is the ratio of the receive chain response R _(ap)to the transmit chain response T _(ap) (i.e., K _(ap)=R _(ap)/T _(ap)),where the ratio is taken element-by-element. Similarly, the(N_(ut)×N_(ut)) diagonal matrix K _(ut) for the user terminal is theratio of the receive chain response R _(ut) to the transmit chainresponse T _(ut).

The matrices K _(ap) and K _(ut) include values that can account fordifferences in the transmit/receive chains at the access point and userterminal. This would then allow the channel response for one link to beexpressed by the channel response for the other link, as shown inequation (6).

Calibration may be performed to determine the matrices K _(ap) and K_(ut). Typically, the true channel response H and the transmit/receivechain responses are not known nor can they be exactly or easilyascertained. Instead, the effective downlink and uplink channelresponses, H _(dn) and H _(up), may be estimated based on pilots sent onthe downlink and uplink, respectively, as described below. Estimates ofthe matrices K _(ap) and K _(ut), which are referred to as correctionmatrices {circumflex over (K)} _(ap) and {circumflex over (K)} _(ut),may then be derived based on the downlink and uplink channel responseestimates, Ĥ _(dn) and Ĥ _(up), as described below. The matrices{circumflex over (K)} _(ap) and {circumflex over (K)} _(ut) includecorrection factors that can account for differences in thetransmit/receive chains at the access point and user terminal.

FIG. 2 illustrates the application of the correction matrices{circumflex over (K)} _(ap) and {circumflex over (K)} _(ut) to accountfor differences in the transmit/receive chains at the access point anduser terminal. On the downlink, the transmit vector x _(dn) is firstmultiplied with the matrix {circumflex over (K)} _(ap) by a unit 112.The subsequent processing by transmit chain 114 and receive chain 154for the downlink is the same as shown in FIG. 1. Similarly, on theuplink, the transmit vector x _(up) is first multiplied with the matrix{circumflex over (K)} _(ut) by a unit 162. Again, the subsequentprocessing by transmit chain 164 and receive chain 124 for the uplink isthe same as shown in FIG. 1.

The “calibrated” downlink and uplink channel responses observed by theuser terminal and access point, respectively, may then be expressed as:H _(cdn)=H _(dn) {circumflex over (K)}ap and H _(cup)=H ^(up){circumflex over (K)} _(ut),  Eq (7)where H _(cdn) ^(T) and Hcup are estimates of the “true” calibratedchannel response expressions in equation (6). Combining the twoequations in equation set (7) using the expression in equation (6), itcan be shown that H _(cup)≈H _(cdn) ^(T). The accuracy of therelationship H _(cup)≈H _(cdn) ^(T) is dependent on the accuracy of thematrices {circumflex over (K)} _(ap) and {circumflex over (K)} _(ut),which in turn is typically dependent on the quality of the downlink anduplink channel response estimates, Ĥ _(dn) and Ĥ _(up).

As shown above, calibration may be performed in a TDD system todetermine the differences in the responses of the transmit/receivechains at the access point and user terminal, and to account for thedifferences. Once the transmit/receive chains have been calibrated, acalibrated channel response estimate obtained for one link (e.g., Ĥ_(cdn)) may be used to determine an estimate of the calibrated channelresponse for the other link (e.g., Ĥ _(cup)).

The calibration techniques described herein may also be used forwireless communication systems that employ OFDM. OFDM effectivelypartitions the overall system bandwidth into a number of (N_(F))orthogonal subbands, which are also referred to as frequency bins orsubchannels. With OFDM, each subband is associated with a respectivesubcarrier upon which data may be modulated. For a MIMO system thatutilizes OFDM (i.e., a MIMO-OFDM system), each subband of each eigenmodemay be viewed as an independent transmission channel.

The calibration may be performed in various manners. For clarity, aspecific calibration scheme is described below for a TDD MIMO-OFDMsystem. For this system, each subband of the wireless link may beassumed to be reciprocal.

FIG. 3 is a flow diagram of an embodiment of a process 300 forcalibrating the downlink and uplink channel responses in the TDDMIMO-OFDM system. Initially, the user terminal acquires the timing andfrequency of the access point using acquisition procedures defined forthe system (step 310). The user terminal may then send a message toinitiate calibration with the access point, or the calibration may beinitiated by the access point. The calibration may be performed inparallel with registration/authentication of the user terminal by theaccess point (e.g., during call setup) and may also be performedwhenever warranted.

The calibration may be performed for all subbands that may be used fordata transmission (which are referred to as the “data” subbands).Subbands not used for data transmission (e.g., guard subbands) typicallydo not need to be calibrated. However, since the frequency responses ofthe transmit/receive chains at the access point and user terminal aretypically flat over most of the band of interest, and since adjacentsubbands are likely to be correlated, the calibration may be performedfor only a subset of the data subbands. If fewer than all data subbandsare calibrated, then the subbands to be calibrated (which are referredto as the “designated” subbands) may be signaled to the access point(e.g., in the message sent to initiate the calibration).

For the calibration, the user terminal transmits a MIMO pilot on thedesignated subbands to the access point (step 312). The generation ofthe MIMO pilot is described in detail below. The duration of the uplinkMIMO pilot transmission may be dependent on the number of designatedsubbands. For example, 8 OFDM symbols may be sufficient if calibrationis performed for four subbands, and more (e.g., 20) OFDM symbols may beneeded for more subbands. The total transmit power is typically fixed,so if the MIMO pilot is transmitted on a small number of subbands, thenhigher amounts of transmit power may be used for each of these subbandsand the SNR for each subband is high. Conversely, if the MIMO pilot istransmitted on a large number of subbands then smaller amounts oftransmit power may be used for each subband and the SNR for each subbandis worse. If the SNR of each subband is not sufficiently high, then moreOFDM symbols may be sent for the MIMO pilot and integrated at thereceiver to obtain a higher overall SNR for the subband.

The access point receives the uplink MIMO pilot and derives an estimateof the uplink channel response, Ĥ _(up)(k), for each of the designatedsubbands, where k represents the subband index. Channel estimation basedon the MIMO pilot is described below. The uplink channel responseestimates are quantized and sent to the user terminal (step 314). Theentries in each matrix Ĥ _(up)(k) are complex channel gains between theN_(ut) transmit and N_(ap) receive antennas for the uplink for the k-thsubband. The channel gains for all matrices may be scaled by aparticular scaling factor, which is common across all designatedsubbands, to obtain the desired dynamic range. For example, the channelgains in each matrix Ĥ _(up)(k) may be inversely scaled by the largestchannel gain for all matrices Ĥ _(up)(k) for the designated subbands sothat the largest channel gain is one in magnitude. Since the goal of thecalibration is to normalize the gain/phase difference between thedownlink and uplink, the absolute channel gains are not important. If12-bit complex values (i.e., with 12-bit inphase (I) and 12-bitquadrature (Q) components) are used for the channel gains, then thedownlink channel response estimates may be sent to the user terminal in3·N_(ut)·N_(ap)·N_(sb) bytes, where “3” is for the 24 total bits used torepresent the I and Q components and N_(sb) is the number of designatedsubbands.

The user terminal also receives a downlink MIMO pilot transmitted by theaccess point (step 316) and derives an estimate of the downlink channelresponse, Ĥ _(dn)(k), for each of the designated subbands based on thereceived pilot (step 318). The user terminal then determines correctionfactors, {circumflex over (K)} _(ap)(k) and {circumflex over (K)}_(ut)(k), for each of the designated subbands based on the uplink anddownlink channel response estimates, Ĥ _(up)(k) and Ĥ _(dn)(k) (step320).

For the derivation of the correction factors, the downlink and uplinkchannel responses for each subband are assumed to be reciprocal, withgain/phase corrections to account for the differences in thetransmit/receive chains at the access point and user terminal, asfollows:H _(up)(k) K _(ut)(k)=( H _(dn)(k) K _(ap)(k))^(T), for k∈K,  Eq (8)where K represents a set with all data subbands. Since only estimates ofthe effective downlink and uplink channel responses are available forthe designated subbands during calibration, equation (8) may berewritten as:Ĥ _(up)(k) {circumflex over (K)} _(ut)(k)=( Ĥ _(dn)(k) {circumflex over(K)} _(ap)(k))^(T), for k∈K,  Eq (9)where K′ represents a set with all designated subbands. A correctionvector {circumflex over (k)}ut(k) may be defined to include only theN_(ut) diagonal elements of {circumflex over (K)} _(ut)(k). Similarly, acorrection vector {circumflex over (k)} _(ap)(k) may be defined toinclude only the N_(ap) diagonal elements of {circumflex over (K)}_(ap)(k).

The correction factors {circumflex over (K)} _(ap)(k) and {circumflexover (K)} _(ut)(k) may be derived from the channel estimates Ĥ _(dn)(k)and Ĥ(k) in various manners, including by a matrix-ratio computation anda minimum mean square error (MMSE) computation. Both of thesecomputation methods are described in further detail below. Othercomputation methods may also be used, and this is within the scope ofthe invention.

A. Matrix-Ratio Computation

FIG. 4 is a flow diagram of an embodiment of a process 320 a forderiving the correction vectors {circumflex over (k)} _(ut)(k) and{circumflex over (k)} _(ap)(k) from the downlink and uplink channelresponse estimates Ĥ _(up)(k) and Ĥ _(dn)(k) using matrix-ratiocomputation. Process 320 a may be used for step 320 in FIG. 3.

Initially, an (N_(ut)×N_(ap)) matrix C(k) is computed for eachdesignated subband (step 412), as follows:

$\begin{matrix}{{{\underset{\_}{C}(k)} = \frac{{\hat{\underset{\_}{H}}}_{up}^{T}(k)}{{\underset{\_}{\hat{H}}}_{dn}(k)}},{{{for}\mspace{14mu} k} \in K^{\prime}},} & {{Eq}\mspace{14mu}(10)}\end{matrix}$where the ratio is taken element-by-element. Each element of C(k) maythus be computed as:

$\begin{matrix}{{{c_{i,j}(k)} = \frac{{\hat{h}}_{{{up}\mspace{11mu} i},j}(k)}{{\hat{h}}_{{{dn}\mspace{11mu} i},j}(k)}},{{{for}\mspace{14mu} i} = {{\left\{ {1\mspace{11mu}\ldots\mspace{11mu} N_{ut}} \right\}\mspace{14mu}{and}\mspace{14mu} j} = \left\{ {1\mspace{11mu}\ldots\mspace{11mu} N_{ap}} \right\}}},} & {{Eq}\mspace{14mu}(11)}\end{matrix}$where ĥ_(up i,j)(k) and ĥ_(dn i,j)(k) are the (i,j)-th (row, column)element of Ĥ _(up) ^(T)(k) and Ĥ _(dn)(k), respectively, and c_(i,j)(k)is the (i,j)-th element of C(k).

In an embodiment, the correction vector for the access point,{circumflex over (k)} _(ap)(k), is defined to be equal to the mean ofthe normalized rows of C(k) and is derived by the steps in block 420.Each row of C(k) is first normalized by scaling each of the N_(ap)elements in the row with the first element in the row (step 422). Thus,if c _(i)(k)=[c_(i,1)(k) . . . c_(i,N) _(ap) (k)] is the i-th row ofC(k), then the normalized row {tilde over (c)} _(i)(k) may be expressedas:{tilde over (c)} _(i)(k)=[c _(i,1)(k)/c _(i,1)(k) . . . c _(i,j)(k)/c_(i,1)(k) . . . c _(i,N) _(ap) (k)/c _(i,1)(k)].  Eq (12)The mean of the normalized rows is then determined as the sum of theN_(ut) normalized rows divided by N_(ut) (step 424). The correctionvector {circumflex over (k)} _(ap)(k) is set equal to this mean (step426), which may be expressed as:

$\begin{matrix}{{{{\hat{\underset{\_}{k}}}_{ap}(k)} = {\frac{1}{N_{ut}}{\sum\limits_{i = 1}^{N_{ut}}\;{{\underset{\_}{\overset{\sim}{c}}}_{i}(k)}}}},{{{for}\mspace{14mu} k} \in {K^{\prime}.}}} & {{Eq}\mspace{14mu}(13)}\end{matrix}$Because of the normalization, the first element of {circumflex over(k)}ap(k) is unity.

In an embodiment, the correction vector for the user terminal,{circumflex over (k)} _(ut)(k), is defined to be equal to the mean ofthe inverses of the normalized columns of C(k) and is derived by thesteps in block 430. The j-th column of C(k) is first normalized byscaling each element in the column with the j-th element of the vector{circumflex over (k)} _(ap)(k), which is denoted as K_(ap,j,j)(k) (step432). Thus, if c _(j)(k)=[c_(1,j)(k) . . . c_(N) _(ut) _(,j)(k)]^(T) isthe j-th column of C(k), then the normalized column {hacek over (c)}_(j)(k) may be expressed as:{hacek over (c)} _(j)(k)=[c _(1,j)(k)/K _(ap,j,j)(k) . . . c _(i,j)(k)/K_(ap,j,j)(k) . . . c _(N) _(ut) _(,j)(k)/K _(ap,j,j)(k)]^(T).  Eq (14)The mean of the inverses of the normalized columns is then determined asthe sum of the inverses of the N_(ap) normalized columns divided byN_(ap) (step 434). The correction vector {circumflex over (k)} _(ut)(k)is set equal to this mean (step 436), which may be expressed as:

$\begin{matrix}{{{{\hat{\underset{\_}{k}}}_{ut}(k)} = {\frac{1}{N_{ap}}{\sum\limits_{j = 1}^{N_{ap}}\;\frac{1}{{\underset{\_}{\overset{\Cup}{c}}}_{i}(k)}}}},{{{for}\mspace{14mu} k} \in K},} & {{Eq}\mspace{14mu}(15)}\end{matrix}$where the inversion of the normalized columns, {hacek over (c)} _(j)(k),is performed element-wise.

B. MMSE Computation

For the MMSE computation, the correction factors {circumflex over (K)}_(ap)(k) and {circumflex over (K)} _(ut)(k) are derived from thedownlink and uplink channel response estimates Ĥ _(dn)(k) and Ĥ _(up)(k)such that the mean square error (MSE) between the calibrated downlinkchannel response and the calibrated uplink channel response isminimized. This condition may be expressed as:min|(Ĥ _(dn)(k){circumflex over (K)} _(ap)(k))^(T)−Ĥ _(up)(k){circumflexover (K)} _(ut)(k)|², for k∈K,  Eq (16)which may also be written as:min|{circumflex over (K)} _(ap)(k)Ĥ _(dn) ^(T)(k)−Ĥ _(up)(k){circumflexover (K)} _(ut)(k)|², for k∈K,where {circumflex over (K)} _(ap) ^(T)(k)={circumflex over (K)} _(ap)(k)since {circumflex over (K)} _(ap)(k) is a diagonal matrix.

Equation (16) is subject to the constraint that the lead element of{circumflex over (K)} _(ap)(k) is set equal to unity (i.e., {circumflexover (K)} _(ap,0,0)(k)=1). Without this constraint, the trivial solutionwould be obtained with all elements of the matrices f{circumflex over(K)} _(ap)(k) and {circumflex over (K)} _(ut)(k) set equal to zero. Inequation (16), a matrix Y(k) is first obtained as Y(k)={circumflex over(K)} _(ap)(k)Ĥ _(dn) ^(T)(k)−Ĥ _(up)(k){circumflex over (K)} _(ut)(k).The square of the absolute value is next obtained for each of theN_(ap)·N_(ut) entries of the matrix Y(k). The mean square error (or thesquare error, since a divide by N_(ap)·N_(ut) is omitted) is then equalto the sum of all N_(ap)·N_(ut) squared values.

The MMSE computation is performed for each designated subband to obtainthe correction factors {circumflex over (K)} _(ap)(k) and {circumflexover (K)} _(ut)(k) for that subband. The MMSE computation for onesubband is described below. For simplicity, the subband index, k, isomitted in the following description. Also for simplicity, the elementsof the downlink channel response estimate Ĥ _(dn) ^(T) are denoted as{a_(ij)}, the elements of the uplink channel response estimate Ĥ _(up)are denoted as {b_(ij)}, the diagonal elements of the matrix {circumflexover (K)} _(ap) are denoted as {u_(i)}, and the diagonal elements of thematrix {circumflex over (K)} _(ut) are denoted as {v_(j)}, where i={1 .. . N_(ap)} and j={1 . . . N_(ut)}.

The mean square error may be rewritten from equation (16), as follows:

$\begin{matrix}{{{MSE} = {\sum\limits_{j = 1}^{N_{ut}}\;{\sum\limits_{i = 1}^{N_{ap}}\;{{{a_{i\; j}u_{i}} - {b_{i\; j}v_{j}}}}^{2}}}},} & {{Eq}\mspace{14mu}(17)}\end{matrix}$again subject to the constraint u₁=1. The minimum mean square error maybe obtained by taking the partial derivatives of equation (17) withrespect to u and v and setting the partial derivatives to zero. Theresults of these operations are the following equation sets:

$\begin{matrix}{{{\sum\limits_{j = 1}^{N_{ut}}{\left( {{a_{i\; j}u_{i}} - {b_{i\; j}v_{j}}} \right) \cdot a_{i\; j}^{*}}} = 0},{{{for}\mspace{14mu} i} \in \left\{ {2\mspace{11mu}\ldots\mspace{11mu} N_{ap}} \right)},{and}} & {{Eq}\mspace{14mu}\left( {18a} \right)} \\{\;{{{\sum\limits_{i = 1}^{N_{ap}}{\left( {{a_{i\; j}u_{i}} - {b_{i\; j}v_{j}}} \right) \cdot b_{i\; j}^{*}}} = 0},{{{for}\mspace{14mu} j} \in {\left\{ {1\mspace{11mu}\ldots\mspace{11mu} N_{ut}} \right\}.}}}} & {{Eq}\mspace{14mu}\left( {18b} \right)}\end{matrix}$In equation (18a), u₁=1 so there is no partial derivative for this case,and the index i runs from 2 through N_(ap).

The set of (N_(ap)+N_(ut)−1) equations in equation sets (18a) and (18b)may be more conveniently expressed in matrix form, as follows:A y=z,  Eq (19)where

$\underset{\_}{A} = \begin{bmatrix}{\sum\limits_{j = 1}^{N_{u\; t}}\mspace{11mu}{a_{2\; j}}^{2}} & 0 & \ldots & 0 & {{- b_{21}}a_{21}^{*}} & \ldots & {{- b_{2N_{ap}}}a_{2N_{ut}}^{*}} \\0 & {\sum\limits_{j = 1}^{N_{u\; t}}\mspace{11mu}{a_{3\; j}}^{2}} & 0 & \ldots & \ldots & \ldots & \ldots \\\ldots & 0 & \ldots & 0 & \; & \; & \; \\0 & \ldots & 0 & {\sum\limits_{j = 1}^{N_{u\; t}}\mspace{11mu}{a_{N_{ap}j}}^{2}} & {{- b_{N_{ap}1}}a_{N_{ap}1}^{*}} & \; & {{- b_{N_{ap}N_{ut}}}a_{N_{ap}N_{ut}}^{*}} \\{{- a_{21}}b_{21}^{*}} & \ldots & \; & {{- a_{N_{ap}1}}b_{N_{ap}1}^{*}} & {\sum\limits_{i = 1}^{N_{ap}}\mspace{11mu}{b_{i1}}^{2}} & \begin{matrix}{\mspace{11mu} 0\mspace{70mu}} & \ldots\end{matrix} & 0 \\\ldots & \ldots & \; & \; & 0 & \begin{matrix}{\sum\limits_{i = 1}^{N_{ap}}\mspace{11mu}{b_{i\; 2}}^{2}} & 0\end{matrix} & \ldots \\\; & \; & \; & \; & \ldots & \begin{matrix}{\mspace{14mu} 0} & {\mspace{70mu}\ldots}\end{matrix} & 0 \\{{- a_{2N_{ut}}}b_{2N_{ut}}^{*}} & \ldots & \; & {{- a_{N_{ap}N_{ut}}}b_{N_{ap}N_{ut}}^{*}} & 0 & \begin{matrix}{\mspace{11mu}\ldots\mspace{31mu}} & {\mspace{34mu} 0}\end{matrix} & {\sum\limits_{i = 1}^{N_{ap}}\mspace{11mu}{b_{i\; N_{ut}}}^{2}}\end{bmatrix}$ $\underset{\_}{y} = {{\begin{bmatrix}u_{2} \\u_{3} \\\cdots \\u_{N_{ap}} \\v_{1} \\v_{2} \\\cdots \\v_{N_{u\; t}}\end{bmatrix}\mspace{25mu}{and}\mspace{20mu}\underset{\_}{z}} = {\begin{bmatrix}0 \\0 \\\cdots \\0 \\{a_{11}b_{11}^{*}} \\{a_{12}b_{12}^{*}} \\\cdots \\{a_{1\; N_{u\; t}}b_{1\; N_{u\; t}}^{*}}\end{bmatrix}.}}$

The matrix A includes (N_(ap)+N_(ut)−1) rows, with the first N_(ap)−1rows corresponding to the N_(ap)−1 equations from equation set (18a) andthe last N_(ut) rows corresponding to the N_(ut) equations from equationset (18b). In particular, the first row of the matrix A is generatedfrom equation set (18a) with i=2, the second row is generated with i=3,and so on. The N_(ap)-th row of the matrix A is generated from equationset (18b) with j=1, and so on, and the last row is generated withj=N_(ut). As shown above, the entries of the matrix A and the entries ofthe vector z may be obtained based on the entries in the matrices Ĥ_(dn) ^(T) and Ĥ _(up).

The correction factors are included in the vector y, which may beobtained as:y=A ⁻¹ z.  Eq (20)

The results of the MMSE computation are correction matrices {circumflexover (K)} _(ap) and {circumflex over (K)} _(ut) that minimize the meansquare error in the calibrated downlink and uplink channel responses, asshown in equation (16). Since the matrices {circumflex over (K)} _(ap)and {circumflex over (K)} _(ut) are obtained based on the downlink anduplink channel response estimates, Ĥ _(dn) and Ĥ _(up), the quality ofthe correction matrices {circumflex over (K)} _(ap) and {circumflex over(K)} _(ut) are thus dependent on the quality of the channel estimates Ĥ_(dn) and Ĥ _(up). The MIMO pilot may be averaged at the receiver toobtain more accurate estimates for Ĥ _(dn) and Ĥ _(up).

The correction matrices, {circumflex over (K)} _(ap) and {circumflexover (K)} _(ut), obtained based on the MMSE computation are generallybetter than the correction matrices obtained based on the matrix-ratiocomputation, especially when some of the channel gains are small andmeasurement noise can greatly degrade the channel gains.

C. Post Computation

Regardless of the particular computation method selected for use, aftercompletion of the computation of the correction matrices, the userterminal sends to the access point the correction vectors for the accesspoint, {circumflex over (k)} _(ap)(k), for all designated subbands. If12-bit complex values are used for each correction factor in {circumflexover (k)} _(ap)(k), then the correction vectors {circumflex over (k)}_(ap)(k) for all designated subbands may be sent to the access point in3·(N_(ap)−1)·N_(sb) bytes, where “3” is for the 24 total bits used forthe I and Q components and (N_(ap)−1) results from the first element ineach vector {circumflex over (k)} _(ap)(k) being equal to unity and thusnot needing to be sent. If the first element is set to 2⁹−1=+511, then12 dB of headroom is available (since the maximum positive 12-bit signedvalue is 2¹¹−1=+2047), which would then allow gain mismatch of up to 12dB between the downlink and uplink to be accommodated by 12-bit values.If the downlink and uplink match to within 12 dB and the first elementis normalized to a value of 511, then the other elements should be nogreater than 511·4=2044 in absolute value and can be represented with 12bits.

A pair of correction vectors {circumflex over (k)} _(ap)(k) and{circumflex over (k)} _(ut)(k) is obtained for each designated subband.If the calibration is performed for fewer than all of the data subbands,then the correction factors for the “uncalibrated” subbands may beobtained by interpolating the correction factors obtained for thedesignated subbands. The interpolation may be performed by the accesspoint to obtain the correction vectors {circumflex over (k)} _(ap)(k),for k∈K. Similarly, the interpolation may be performed by the userterminal to obtain the correction vectors {circumflex over (k)}_(ut)(k), for k∈K.

The access point and user terminal thereafter use their respectivecorrection vectors {circumflex over (k)} _(ap)(k) and {circumflex over(k)} _(ut)(k), or the corresponding correction matrices {circumflex over(K)} _(ap)(k) and {circumflex over (K)} _(ut)(k), for k∈K, to scalemodulation symbols prior to transmission over the wireless channel, asdescribed below. The effective downlink channel that the user terminalsees would then be H _(cdn)(k)=H _(dn)(k){circumflex over (K)} _(ap)(k).

The calibration scheme described above, whereby a vector of correctionfactors is obtained for each of the access point and user terminal,allows “compatible” correction vectors to be derived for the accesspoint when the calibration is performed by different user terminals. Ifthe access point has already been calibrated (e.g., by one or more otheruser terminals), then the current correction vectors may be updated withthe newly derived correction vectors.

For example, if two user terminals simultaneously perform thecalibration procedure, then the calibration results from these userterminals may be averaged to improve performance. However, calibrationis typically performed for one user terminal at a time. So the seconduser terminal observes the downlink with the correction vector for thefirst user terminal already applied. In this case, the product of thesecond correction vector with the old correction vector may be used asthe new correction vector, or a “weighted averaging” (described below)may also be used. The access point typically uses a single correctionvector for all user terminals, and not different ones for different userterminals (although this may also be implemented). Updates from multipleuser terminals or sequential updates from one user terminal may betreated in the same manner. The updated vectors may be directly applied(by a product operation). Alternatively, if some averaging is desired toreduce measurement noise, then weighted averaging may be used asdescribed below.

Thus, if the access point uses correction vectors {circumflex over (k)}_(ap1)(k) to transmit the MIMO pilot from which the user terminaldetermines new correction vectors {circumflex over (k)} _(ap2)(k), thenthe updated correction vectors {circumflex over (k)} _(ap3)(k) are theproduct of the current and new correction vectors. The correctionvectors {circumflex over (k)} _(ap1)(k) and {circumflex over (k)}_(ap2)(k) may be derived by the same or different user terminals.

In one embodiment, the updated correction vectors are defined as{circumflex over (k)} _(ap3) (k)={circumflex over (k)}_(ap1)(k)·{circumflex over (k)} _(ap2)(k), where the multiplication iselement-by-element. In another embodiment, the updated correctionvectors may be redefined as {circumflex over (k)} _(ap3)(k)={circumflexover (k)} _(ap1)(k)·{circumflex over (k)} _(ap2) ^(α)(k), where α is afactor used to provide weighted averaging (e.g., 0<α<1). If thecalibration updates are infrequent, then □ close to one might performbest. If the calibration updates are frequent but noisy, then a smallervalue for □ is better. The updated correction vectors {circumflex over(k)} _(ap3)(k) may then be used by the access point until they areupdated again.

As noted above, the calibration may be performed for fewer than all datasubbands. For example, the calibration may be performed for every n-thsubband, where n may be determined by the expected response of thetransmit/receive chains (e.g., n may be 2, 4, 8, 16, and so on). Thecalibration may also be performed for non-uniformly distributedsubbands. For example, since there may be more filter roll-off at theedges of the passband, which may create more mismatch in thetransmit/receive chains, more subbands near the band edges may becalibrated. In general, any number and any distribution of subbands maybe calibrated, and this is within the scope of the invention.

In the above description, the correction vectors {circumflex over (k)}_(ap)(k) and {circumflex over (k)} _(ut)(k), for k∈K′, are derived bythe user terminal, and the vectors {circumflex over (k)} _(ap)(k) aresent back to the access point. This scheme advantageously distributesthe calibration processing among the user terminals for amultiple-access system. However, the correction vectors {circumflex over(k)} _(ap)(k) and {circumflex over (k)} _(ut)(k) may also be derived bythe access point, which would then send the vectors {circumflex over(k)} _(ut)(k) back to the user terminal, and this is within the scope ofthe invention.

The calibration scheme described above allows each user terminal tocalibrate its transmit/receive chains in real-time via over-the-airtransmission. This allows user terminals with different frequencyresponses to achieve high performance without the need for tightfrequency response specifications or to perform calibration at thefactory. The access point may be calibrated by multiple user terminalsto provide improved accuracy.

D. Gain Considerations

The calibration may be performed based on “normalized” gains for thedownlink and uplink channels, which are gains given relative to thenoise floor at the receiver. The use of the normalized gains allows thecharacteristics of one link (including the channel gains and SNR pereigenmode) to be obtained based on gain measurements for the other link,after the downlink and uplink have been calibrated.

The access point and user terminal may initially balance their receiverinput levels such that the noise levels on the receive paths for theaccess point and user terminal are approximately the same. The balancingmay be done by estimating the noise floor, that is, finding a section ofa received TDD frame (i.e., a unit of downlink/uplink transmission) thathas a minimum average power over a particular time duration (e.g., oneor two symbol periods). Generally, the time just before the start ofeach TDD frame is clear of transmissions, since any uplink data needs tobe received by the access point and then a receive/transmit turnaroundtime is necessary before the access point transmits on the downlink.Depending on the interference environment, the noise floor may bedetermined based on a number of TDD frames. The downlink and uplinkchannel responses are then measured relative to this noise floor. Morespecifically, the channel gain for a given subband of a giventransmit/receive antenna pair may first be obtained, for example, as theratio of the received pilot symbol over the transmitted pilot symbol forthat subband of that transmit/receive antenna pair. The normalized gainis then the measured gain divided by the noise floor.

A large difference in the normalized gains for the access point and thenormalized gains for the user terminal can result in the correctionfactors for the user terminal being greatly different from unity. Thecorrection factors for the access point are close to unity because thefirst element of the matrix {circumflex over (K)} _(ap) is set to 1.

If the correction factors for the user terminal differ greatly fromunity, then the user terminal may not be able to apply the computedcorrection factors. This is because the user terminal has a constrainton its maximum transmit power and may not be capable of increasing itstransmit power for large correction factors. Moreover, a reduction intransmit power for small correction factors is generally not desirable,since this may reduce the achievable data rate.

Thus, the user terminal can transmit using a scaled version of thecomputed correction factors. The scaled calibration factors may beobtained by scaling the computed correction factors by a particularscaling value, which may be set equal to a gain delta (difference orratio) between the downlink and uplink channel responses. This gaindelta can be computed as an average of the differences (or deltas)between the normalized gains for the downlink and uplink. The scalingvalue (or gain delta) used for the correction factors for the userterminal can be sent to the access point along with the computedcorrection factors for the access point.

With the correction factors and the scaling value or gain delta, thedownlink channel characteristics may be determined from the measureduplink channel response, and vice versa. If the noise floor at eitherthe access point or the user terminal changes, then the gain delta canbe updated, and the updated gain delta may be sent in a message to theother entity.

In the above description, the calibration results in two sets (orvectors or matrices) of correction factors for each subband, with oneset being used by the access point for downlink data transmission andthe other set being used by the user terminal for uplink datatransmission. The calibration may also be performed such that two setsof correction factors are provided for each subband, with one set beingused by the access point for uplink data reception and the other setbeing used by the user terminal for downlink data reception. Thecalibration may also be performed such that one set of correctionfactors is obtained for each subband, and this set may be used at eitherthe access point or the user terminal. In general, the calibration isperformed such that the calibrated downlink and uplink channel responsesare reciprocal, regardless of where correction factors are applied.

2. MIMO Pilot

For the calibration, a MIMO pilot is transmitted on the uplink by theuser terminal to allow the access point to estimate the uplink channelresponse, and a MIMO pilot is transmitted on the downlink by the accesspoint to allow the user terminal to estimate the downlink channelresponse. The same or different MIMO pilots may be used for the downlinkand uplink, and the MIMO pilots used are known at both the access pointand user terminal.

In an embodiment, the MIMO pilot comprises a specific OFDM symbol(denoted as “P”) that is transmitted from each of the N_(T) transmitantennas, where N_(T)=N_(ap) for the downlink and N_(T)=N_(ut) for theuplink. For each transmit antenna, the same P OFDM symbol is transmittedin each symbol period designated for MIMO pilot transmission. However,the P OFDM symbols for each antenna are covered with a different N-chipWalsh sequence assigned to that antenna, where N≧N_(ap) for the downlinkand N≧N_(ut) for the uplink. The Walsh covering maintains orthogonalitybetween the N_(T) transmit antennas and allows the receiver todistinguish the individual transmit antennas.

The P OFDM symbol includes one modulation symbol for each of the N_(sb)designated subbands. The P OFDM symbol thus comprises a specific “word”of N_(sb) modulation symbols that may be selected to facilitate channelestimation by the receiver. This word may also be defined to minimizethe peak-to-average variation in the transmitted MIMO pilot. This maythen reduce the amount of distortion and non-linearity generated by thetransmit/receive chains, which may then result in improved accuracy forthe channel estimation.

For clarity, a specific MIMO pilot is described below for a specificMIMO-OFDM system. For this system, the access point and user terminaleach has four transmit/receive antennas. The system bandwidth ispartitioned into 64 orthogonal subbands (i.e., N_(F)=64), which areassigned indices of +31 to −32. Of these 64 subbands, 48 subbands (e.g.,with indices of ±{1, . . . , 6, 8, . . . , 20, 22, . . . , 26}) are usedfor data, 4 subbands (e.g., with indices of ±{7, 21}) are used for pilotand possibly signaling, the DC subband (with index of 0) is not used,and the remaining subbands are also not used and serve as guardsubbands. This OFDM subband structure is described in further detail ina document for IEEE Standard 802.11a and entitled “Part 11: Wireless LANMedium Access Control (MAC) and Physical Layer (PHY) specifications:High-speed Physical Layer in the 5 GHz Band,” September 1999, which ispublicly available and incorporated herein by reference.

The P OFDM symbol includes a set of 52 QPSK modulation symbols for the48 data subbands and 4 pilot subbands. This P OFDM symbol may be givenas follows:

-   P(real)=g·{0,0,0,0,0,0,−1,−1,−1,−1,1,1,1,−1,−1,1,−1,1,1,1,1,−1,−1,1,−1,1,−1,−1,−1,−1,1,−1,0,1,−1−1,−1,−1,1,−1,−1,−1,−1,1,1,−1,−1,1,−1,−1,1,1,−1,1,−1,1,−1,1,−,0,0,0,0,0},-   P(imag)=g·{0,0,0,0,0,0,−1,1,1,1−1,−1,1−1,1,1,1,−1,1,−1,−1,−1,−1,−1,−1,1,1,−1,1,1,−1,−1,1,0−1,−1,−1,−1,1,1,−1,1,−1,−1,1,−1,1,−1,1,1,1,−1,1,1,1,1,1,1,−1,−1,0,0,0,0,0},    where g is a gain for the pilot. The values within the { } bracket    are given for subband indices −32 through −1 (for the first line)    and 0 through +31 (for the second line). Thus, the first line for    P(real) and P(imag) indicates that symbol (−1−j) is transmitted in    subband −26, symbol (−1+j) is transmitted in subband −25, and so on.    The second line for P(real) and P(imag) indicates that symbol (1−j)    is transmitted in subband 1, symbol (−1−j) is transmitted in subband    2, and so on. Other OFDM symbols may also be used for the MIMO    pilot.

In an embodiment, the four transmit antennas are assigned Walshsequences of W₁=1111, W₂=1010, W₃=1100, and W₄=1001 for the MIMO pilot.For a given Walsh sequence, a value of “1” indicates that a P OFDMsymbol is transmitted and a value of “0” indicates that a −P OFDM symbolis transmitted (i.e., each of the 52 modulation symbols in P isinverted).

Table 1 lists the OFDM symbols transmitted from each of the fourtransmit antennas for a MIMO pilot transmission that spans four symbolperiods.

TABLE 1 OFDM symbol Antenna 1 Antenna 2 Antenna 3 Antenna 4 1 +P +P +P+P 2 +P −P +P −P 3 +P +P −P −P 4 +P −P −P +PFor longer MIMO pilot transmission, the Walsh sequence for each transmitantenna is simply repeated. For this set of Walsh sequences, the MIMOpilot transmission occurs in integer multiples of four symbol periods toensure orthogonality among the four transmit antennas.

The receiver may derive an estimate of the channel response based on thereceived MIMO pilot by performing the complementary processing. Inparticular, to recover the pilot sent from transmit antenna i andreceived by receive antenna j, the pilot received by receive antenna jis first processed with the Walsh sequence assigned to transmit antennai in a complementary manner to the Walsh covering performed at thetransmitter. The decovered OFDM symbols for all N_(ps) symbol periodsfor the MIMO pilot are then accumulated, where the accumulation isperformed individually for each of the 52 subbands used to carry theMIMO pilot. The results of the accumulation is ĥ_(i,j)(k), for k=±{1, .. . , 26}, which is an estimate of the effective channel response fromtransmit antenna i to receive antenna j (i.e., including the responsesfor the transmit/receive chains) for the 52 data and pilot subbands.

The same processing may be performed to recover the pilot from eachtransmit antenna at each receive antenna. The pilot processing providesN_(ap)·N_(ut) values that are the elements of the effective channelresponse estimate, Ĥ _(up)(k) or Ĥ _(dn)(k), for each of the 52subbands.

The channel estimation described above may be performed by both theaccess point and the user terminal during calibration to obtain theeffective uplink channel response estimate Ĥ _(up)(k) and the effectivedownlink channel response estimate Ĥ _(dn)(k), respectively, which arethen used to derive the correction factors as described above.

3. Spatial Processing

The correlation between the downlink and uplink channel responses may beexploited to simplify the channel estimation and spatial processing atthe access point and user terminal for TDD MIMO and MIMO-OFDM systems.This simplification is possible after calibration has been performed toaccount for differences in the transmit/receive chains. As noted above,the calibrated channel responses are:H _(cdn)(k)= H _(dn)(k) {circumflex over (K)} _(ap)(k), for thedownlink, and  Eq (21a)H _(cup)(k)=( H _(dn)(k) {circumflex over (K)} _(ap)(k))^(T) ≅H _(up)(k){circumflex over (K)} _(ut)(k), for the uplink.  Eq (21b)The last equality in equation (21b) comes from using the relationshipbetween the effective downlink and uplink channel responses, H_(up)(k)=(K _(ut) ⁻¹(k)H _(dn)(k)K _(ap)(k))^(T).

The channel response matrix H(k) for each subband may be “diagonalized”to obtain the N_(S) eigenmodes for that subband. This may be achieved byperforming either singular value decomposition on the channel responsematrix H(k) or eigenvalue decomposition on the correlation matrix ofH(k), which is R(k)=H ^(H)(k)H(k).

The singular value decomposition of the calibrated uplink channelresponse matrix, H _(cup)(k), may be expressed as:H _(cup)(k)= U _(ap)(k)Σ(k) V _(ut) ^(H)(k), for k∈K,  Eq (22)

-   where U _(ap)(k) is an (N_(ut)×N_(ut)) unitary matrix of left    eigenvectors of H _(cup)(k);    -   Σ(k) is an (N_(ut)×N_(ap)) diagonal matrix of singular values of        H _(cup)(k); and    -   V _(ut)(k) is an (N_(ap)×N_(ap)) unitary matrix of right        eigenvectors of H _(cup)(k).

A unitary matrix M is characterized by the property M ^(H) M=I, where Iis the identity matrix. Correspondingly, the singular valuedecomposition of the calibrated downlink channel response matrix, H_(cdn)(k), may be expressed as:H _(cdn)(k)= V* _(ut)(k)Σ(k) U _(ap) ^(T)(k), for k∈K.  Eq (23)The matrices V*_(ut)(k) and U _(ap) ^(T)(k) are thus also matrices ofleft and right eigenvectors, respectively, of H _(cdn)(k). The matricesV _(ut)(k), V*_(ut)(k), V _(ut) ^(T)(k), and V _(ut) ^(H)(k) aredifferent forms of the matrix V _(ut)(k), and the matrices U _(ap)(k),U*_(ap)(k), U _(ap) ^(T)(k), and U _(ap) ^(H)(k) are also differentforms of the matrix U _(ap)(k). For simplicity, reference to thematrices U _(ap)(k) and V _(ut)(k) in the following description may alsorefer to their various other forms. The matrices U _(ap)(k) and V_(ut)(k) are used by the access point and user terminal, respectively,for spatial processing and are denoted as such by their subscripts.

The singular value decomposition is described in further detail byGilbert Strang entitled “Linear Algebra and Its Applications,” SecondEdition, Academic Press, 1980.

The user terminal can estimate the calibrated downlink channel responsebased on a MIMO pilot sent by the access point. The user terminal maythen perform the singular value decomposition of the calibrated downlinkchannel response estimate Ĥ _(cdn)(k), for k∈K, to obtain the diagonalmatrices {circumflex over (Σ)}(k) and the matrices V*_(ut)(k) of lefteigenvectors of Ĥ _(cdn)(k). This singular value decomposition may begiven as Ĥ _(cdn)(k)={circumflex over (V)}*_(ut)(k){circumflex over(Σ)}(k)Û _(ap) ^(T)(k), where the hat (“^”) above each matrix indicatesthat it is an estimate of the actual matrix.

Similarly, the access point can estimate the calibrated uplink channelresponse based on a MIMO pilot sent by the user terminal. The accesspoint may then perform the singular value decomposition of thecalibrated uplink channel response estimate Ĥ _(cup)(k), for k∈K, toobtain the diagonal matrices {circumflex over (Σ)}(k) and the matrices Û_(ap)(k) of left eigenvectors of Ĥ _(cup)(k), for k∈K. This singularvalue decomposition may be given as Ĥ _(cup)(k)=Û _(ap)(k){circumflexover (Σ)}(k){circumflex over (V)} _(ut) ^(H)(k).

Because of the reciprocal channel and the calibration, the singularvalue decomposition only need to be performed by either the userterminal or the access point to obtain both matrices {circumflex over(V)} _(ut)(k) and Û _(ap)(k). If performed by the user terminal, thenthe matrices {circumflex over (V)} _(ut)(k) are used for spatialprocessing at the user terminal and the matrices Û _(ap)(k) may be sentback to the access point.

The access point may also be able to obtain the matrices Û _(ap)(k) and{circumflex over (Σ)}(k) based on a steered reference sent by the userterminal. Similarly, the user terminal may also be able to obtain thematrices {circumflex over (V)} _(ut)(k) and {circumflex over (Σ)}(k)based on a steered reference sent by the access point. The steeredreference is described in detail in the aforementioned provisional U.S.patent application Ser. No. 60/421,309.

The matrices Û _(ap)(k) and {circumflex over (Σ)}(k) may be used totransmit independent data streams on the N_(S) eigenmodes of the MIMOchannel, where N_(S)≦min{N_(ap),N_(ut)}. The spatial processing totransmit multiple data streams on the downlink and uplink is describedbelow.

A. Uplink Spatial Processing

The spatial processing by the user terminal for an uplink transmissionmay be expressed as:x _(up)(k)= {circumflex over (K)} _(ut)(k) {circumflex over (V)}_(ut)(k) s _(up)(k), for k∈K,  Eq (24)

-   where x _(up)(k) the transmit vector for the uplink for the k-th    subband; and    -   s _(up)(k) is a “data” vector with up to N_(S) non-zero entries        for the modulation symbols to be transmitted on the N_(S)        eigenmodes of the k-th subband.

Additional processing may also be performed on the modulation symbolsprior to transmission. For example, channel inversion may be appliedacross the data subbands (e.g., for each eigenmode) such that thereceived SNR is approximately equal for all data subbands. The spatialprocessing may then be expressed as:x _(up)(k)= {circumflex over (K)} _(ut)(k) {circumflex over (V)}_(ut)(k) W _(up)(k) s _(up)(k), for k∈K,  Eq (25)where W _(up)(k) is a matrix with weights for the (optional) uplinkchannel inversion.

The channel inversion may also be performed by assigning transmit powerto each subband before the modulation takes place, in which case thevector s _(up)(k) includes the channel inversion coefficients and thematrix W _(up)(k) can be omitted from equation (25). In the followingdescription, the use of the matrix W _(up)(k) in an equation indicatesthat the channel inversion coefficients are not incorporated into thevector s _(up)(k). The lack of the matrix W _(up)(k) in an equation canindicate either (1) channel inversion is not performed or (2) channelinversion is performed and incorporated into the vector s _(up)(k).

Channel inversion may be performed as described in the aforementionedprovisional U.S. patent application Ser. No. 60/421,309 and in U.S.patent application Ser. No. 10/229,209, entitled “Coded MIMO Systemswith Selective Channel Inversion Applied Per Eigenmode,” filed Aug. 27,2002, assigned to the assignee of the present application andincorporated herein by reference.

The received uplink transmission at the access point may be expressedas:

$\begin{matrix}\begin{matrix}{{{{\underset{\_}{r}}_{up}(k)} = {{{{\underset{\_}{H}}_{up}(k)}{{\underset{\_}{x}}_{up}(k)}} + {\underset{\_}{n}(k)}}},{{{for}\mspace{14mu} k} \in K},} \\{\approx {{{{\hat{\underset{\_}{U}}}_{ap}(k)}{\underset{\_}{\hat{\Sigma}}(k)}{{\underset{\_}{s}}_{up}(k)}} + {\underset{\_}{n}(k)}}}\end{matrix} & {{Eq}\mspace{14mu}(26)}\end{matrix}$

-   where r _(up)(k) is the received vector for the uplink for the k-th    subband;    -   n(k) is additive white Gaussian noise (AWGN) for the k-th        subband; and    -   x _(up)(k) is as shown in equation (24).

The spatial processing (or matched filtering) at the access point forthe received uplink transmission may be expressed as:

$\begin{matrix}\begin{matrix}{{{\hat{\underset{\_}{s}}}_{up}(k)} = {{{\underset{\_}{\hat{\Sigma}}}^{- 1}(k)}{{\hat{\underset{\_}{U}}}_{ap}^{H}(k)}{{\underset{\_}{r}}_{up}(k)}}} \\{{= {{{\underset{\_}{\hat{\Sigma}}}^{- 1}(k)}{{\hat{\underset{\_}{U}}}_{ap}^{H}(k)}\left( {{{{\hat{\underset{\_}{U}}}_{ap}(k)}{\underset{\_}{\hat{\Sigma}}(k)}{{\underset{\_}{s}}_{up}(k)}} + {\underset{\_}{n}(k)}} \right)}},{{{for}\mspace{14mu} k} \in K},} \\{= {{{\underset{\_}{s}}_{up}(k)} + {\underset{\_}{\overset{\sim}{n}}(k)}}}\end{matrix} & {{Eq}\mspace{14mu}(27)}\end{matrix}$where ŝ _(up)(k) is an estimate of the vector s _(up)(k) transmitted bythe user terminal on the uplink, and ñ(k) is the post-processed noise.Equation (27) assumes that channel inversion was not performed at thetransmitter and that the received vector r _(up)(k) is as shown inequation (26).

B. Downlink Spatial Processing

The spatial processing by the access point for a downlink transmissionmay be expressed as:x _(dn)(k)= {circumflex over (K)} _(ap)(k) Û* _(ap)(k) s _(dn)(k), fork∈K,  Eq (28)where x _(dn)(k) is the transmit vector and s _(dn)(k) is the datavector for the downlink.

Again, additional processing (e.g., channel inversion) may also beperformed on the modulation symbols prior to transmission. The spatialprocessing may then be expressed as:x _(dn)(k)= {circumflex over (K)} _(ap)(k) Û* _(ap)(k) s _(dn)(k), fork∈K,  Eq (29)where W _(dn)(k) is a matrix with weights for the (optional) downlinkchannel inversion.

The received downlink transmission at the user terminal may be expressedas:

$\begin{matrix}\begin{matrix}{{{{\underset{\_}{r}}_{dn}(k)} = {{{{\underset{\_}{H}}_{dn}(k)}{{\underset{\_}{x}}_{dn}(k)}} + {\underset{\_}{n}(k)}}},{{{for}\mspace{14mu} k} \in K},} \\{\approx {{{{\hat{\underset{\_}{V}}}_{ut}^{*}(k)}{\underset{\_}{\hat{\Sigma}}(k)}{{\underset{\_}{s}}_{dn}(k)}} + {\underset{\_}{n}(k)}}}\end{matrix} & {{Eq}\mspace{14mu}(30)}\end{matrix}$where x _(dn)(k) is the transmit vector as shown in equation (28).

The spatial processing (or matched filtering) at the user terminal forthe received downlink transmission may be expressed as:

$\begin{matrix}\begin{matrix}{{{\hat{\underset{\_}{s}}}_{dn}(k)} = {{{\hat{\underset{\_}{\Sigma}}}^{- 1}(k)}{{\hat{\underset{\_}{V}}}_{ut}^{T}(k)}{{\underset{\_}{r}}_{dn}(k)}}} \\{{= {{{\hat{\underset{\_}{\Sigma}}}^{- 1}(k)}{{\hat{\underset{\_}{V}}}_{ut}^{T}(k)}\left( {{{{\hat{\underset{\_}{V}}}_{ut}^{*}(k)}{\hat{\underset{\_}{\Sigma}}(k)}{{\underset{\_}{s}}_{dn}(k)}} + {\underset{\_}{n}(k)}} \right)}},{{{for}\mspace{14mu} k} \in {K.}}} \\{= {{{\underset{\_}{s}}_{dn}(k)} + {\underset{\_}{\overset{\sim}{n}}(k)}}}\end{matrix} & {{Eq}.\mspace{14mu}(31)}\end{matrix}$Equation (31) assumes that channel inversion was not performed at thetransmitter and that the received vector r _(dn)(k) is as shown inequation (30).

Table 2 summarizes the spatial processing at the access point and userterminal for data transmission and reception. Table 2 assumes that theadditional processing by W(k) is performed at the transmitter. However,if this additional processing is not performed, then W(k) can beregarded as the identify matrix.

TABLE 2 Uplink Downlink User Transmit: Receive: Terminal x _(up)(k) ={circumflex over (K)} _(ut)(k){circumflex over (V)} _(ut)(k)W _(up)(k)s_(up)(k) ŝ _(dn)(k) = {circumflex over (Σ)} ⁻¹(k){circumflex over (V)}_(ut) ^(T)(k)r _(dn)(k) Access Receive: Transmit: Point ŝ _(up)(k) ={circumflex over (Σ)} ⁻¹(k)Û _(ap) ^(H)(k)r _(up)(k) x _(dn)(k) ={circumflex over (K)} _(ap)(k)Û _(ap)*(k)W _(dn)(k)s _(dn)(k)

In the above description and as shown in Table 2, the correctionmatrices {circumflex over (K)} _(ap)(k) and {circumflex over (K)}_(ut)(k) are used for the transmit spatial processing at the accesspoint and user terminal, respectively. This can simplify the overallspatial processing since the modulation symbols may need to be scaledanyway (e.g., for channel inversion) and the correction matrices{circumflex over (K)} _(ap)(k) and {circumflex over (K)} _(ut)(k) may becombined with the weight matrices W _(dn)(k) and W _(up)(k) to obtaingain matrices G _(dn)(k) and G _(up)(k), where G _(dn)(k)=W_(dn)(k){circumflex over (K)} _(ap)(k) and G _(up)(k)=W_(up)(k){circumflex over (K)} _(ut)(k). The processing may also beperformed such that the correction matrices are used for the receivespatial processing (instead of the transmit spatial processing).

4. MIMO-OFDM System

FIG. 5 is a block diagram of an embodiment of an access point 502 and auser terminal 504 within a TDD MIMO-OFDM system. For simplicity, thefollowing description assumes that the access point and user terminalare each equipped with four transmit/receive antennas.

On the downlink, at access point 502, a transmit (TX) data processor 510receives traffic data (i.e., information bits) from a data source 508and signaling and other information from a controller 530. TX dataprocessor 510 formats, codes, interleaves, and modulates (i.e., symbolmaps) the data to provide a stream of modulation symbols for eacheigenmode used for data transmission. A TX spatial processor 520receives the modulation symbol streams from TX data processor 510 andperforms spatial processing to provide four streams of transmit symbols,one stream for each antenna. TX spatial processor 520 also multiplexesin pilot symbols as appropriate (e.g., for calibration).

Each modulator (MOD) 522 receives and processes a respective transmitsymbol stream to provide a corresponding stream of OFDM symbols. EachOFDM symbol stream is further processed by a transmit chain withinmodulator 522 to provide a corresponding downlink modulated signal. Thefour downlink modulated signals from modulator 522 a through 522 d arethen transmitted from four antennas 524 a through 524 d, respectively.

At user terminal 504, antennas 552 receive the transmitted downlinkmodulated signals, and each antenna provides a received signal to arespective demodulator (DEMOD) 554. Each demodulator 554 (which includesa receive chain) performs processing complementary to that performed atmodulator 522 and provides received symbols. A receive (RX) spatialprocessor 560 then performs spatial processing on the received symbolsfrom all demodulators 554 to provide recovered symbols, which areestimates of the modulation symbols sent by the access point. Duringcalibration, RX spatial processor 560 provides a calibrated downlinkchannel estimate, Ĥ _(cdn)(k), based on the MIMO pilot transmitted bythe access point.

An RX data processor 570 processes (e.g., symbol demaps, deinterleaves,and decodes) the recovered symbols to provide decoded data. The decodeddata may include recovered traffic data, signaling, and so on, which areprovided to a data sink 572 for storage and/or a controller 580 forfurther processing. During calibration, RX data processor 570 providesthe calibrated uplink channel estimate, Ĥ _(cup)(k), which is derived bythe access point and sent on the downlink.

Controllers 530 and 580 control the operation of various processingunits at the access point and user terminal, respectively. Duringcalibration, controller 580 may receive the channel response estimates Ĥ_(cdn)(k) and Ĥ _(cup)(k), derive the correction matrices {circumflexover (K)} _(ap)(k) and {circumflex over (K)} _(ut)(k), provide thematrices {circumflex over (K)} _(ut)(k) to a TX spatial processor 592for uplink transmission, and provide the matrices {circumflex over (K)}_(ap)(k) to a TX data processor 590 for transmission back to the accesspoint. Memory units 532 and 582 store data and program codes used bycontrollers 530 and 580, respectively.

The processing for the uplink may be the same or different from theprocessing for the downlink. Data and signaling are processed (e.g.,coded, interleaved, and modulated) by a TX data processor 590 andfurther spatially processed by TX spatial processor 592, whichmultiplexes in pilot symbols during calibration. The pilot andmodulation symbols are further processed by modulators 554 to generateuplink modulated signals, which are then transmitted via antennas 552 tothe access point.

At access point 110, the uplink modulated signals are received byantennas 524, demodulated by demodulators 522, and processed by an RXspatial processor 540 and an RX data processor 542 in a complementary tothat performed at the user terminal. During calibration, RX spatialprocessor 560 also provides a calibrated uplink channel estimate, Ĥ_(cup)(k), based on the MIMO pilot transmitted by the user terminal. Thematrices Ĥ _(cup)(k) are received by controller 530 and then provided toTX data processor 510 for transmission back to the user terminal.

FIG. 6 is a block diagram of a TX spatial processor 520 a, which may beused for TX spatial processors 520 and 592 in FIG. 5. For simplicity,the following description assumes that all four eigenmodes are selectedfor use.

Within processor 520 a, a demultiplexer 632 receives four modulationsymbol steams (denoted as s₁(n) through s₄(n)) to be transmitted on foureigenmodes, demultiplexes each stream into N_(D) substreams for theN_(D) data subbands, and provides four modulation symbol substreams foreach data subband to a respective TX subband spatial processor 640. Eachprocessor 640 performs the processing shown in equation (24), (25),(28), or (29) for one subband.

Within each TX subband spatial processor 640, the four modulation symbolsubstreams (denoted as s₁(k) through s₄(k)) are provided to fourmultipliers 642 a through 642 d, which also receive the gains g₁(k),g₂(k), g₃(k), and g₄(k) for the four eigenmodes of the associatedsubband. For the downlink, the four gains for each data subband are thediagonal elements of the corresponding matrix G _(dn)(k), where G_(dn)(k)={circumflex over (K)} _(ap)(k) or G _(dn)(k)=W_(dn)(k){circumflex over (K)} _(ap)(k). For the uplink, the gains arethe diagonal elements of the matrix G _(up)(k), where G_(up)(k)={circumflex over (K)} _(ut)(k) or G _(up)(k)=W_(up)(k){circumflex over (K)} _(ut)(k). Each multiplier 642 scales itsmodulation symbols with its gain g_(m)(k) to provide scaled modulationsymbols. Multipliers 642 a through 642 d provides four scaled modulationsymbol substreams to four beam-formers 650 a through 650 d,respectively.

Each beam-former 650 performs beam-forming to transmit one symbolsubstream on one eigenmode of one subband. Each beam-former 650 receivesone scaled symbol substream s_(m)(k) and performs beam-forming using theeigenvector v _(m)(k) for the associated eigenmode. Within eachbeam-former 650, the scaled modulation symbols are provided to fourmultipliers 652 a through 652 d, which also receive four elements,v_(m,1)(k), v_(m,2)(k), v_(m,3)(k), and v_(m,4)(k), of the eigenvector v_(m)(k) for the associated eigenmode. The eigenvector v _(m)(k) is them-th column of the matrix Û*_(ap)(k) for the downlink and is the m-thcolumn of the matrix {circumflex over (V)} _(ut)(k) for the uplink. Eachmultiplier 652 then multiplies the scaled modulation symbols with itseigenvector value v_(m,j)(k) to provide “beam-formed” symbols.Multipliers 652 a through 652 d provide four beam-formed symbolsubstreams (which are to be transmitted from four antennas) to summers660 a through 660 d, respectively.

Each summer 660 receives and sums four beam-formed symbols for the foureigenmodes for each symbol period to provide a preconditioned symbol foran associated transmit antenna. Summers 660 a through 660 d providesfour substreams of preconditioned symbols for four transmit antennas tobuffers/multiplexers 670 a through 670 d, respectively.

Each buffer/multiplexer 670 receives pilot symbols and thepreconditioned symbols from TX subband spatial processors 640 for theN_(D) data subbands. Each buffer/multiplexer 670 then multiplexes pilotsymbols, preconditioned symbols, and zeros for the pilot subbands, datasubbands, and unused subbands, respectively, to form a sequence of N_(F)transmit symbols for that symbol period. During calibration, pilotsymbols are transmitted on the designated subbands. Multipliers 668 athrough 668d cover the pilot symbols for the four antennas with Walshsequences W₁ through W₄, respectively, assigned to the four antennas, asdescribed above and shown in Table 1. Each buffer/multiplexer 670provides a stream of transmit symbols x_(i)(n) for one transmit antenna,where the transmit symbol stream comprises concatenated sequences ofN_(F) transmit symbols.

The spatial processing and OFDM modulation is described in furtherdetail in the aforementioned provisional U.S. patent application Ser.No. 60/421,309.

In various embodiments of the invention as described herein, peer-peercommunication between the various user terminals (UTs or STAs) in thesame basic service set (BSS) or different BSSs can be implemented asdescribed below. The UTs or STAs that calibrate with a single accesspoint (AP) are members of a basic service set (BSS). The single accesspoint is a common node to all UTs in the BSS. The calibration methods asdescribed above facilitate the following types of communication:

(i) A UT in the BSS can use TX steering to communicate directly with theAP on the uplink (UL) and the AP can use TX steering to communicate withthe UTs on the downlink (DL).

(ii) A UT in the BSS can communicate directly with another UT in thesame BSS using steering. In this case, this peer-peer communication hasto be bootstrapped because neither UT knows the channel between them. Invarious embodiments, the bootstrap procedure works as follows:

-   -   The initiator of the peer-peer link is the designate AP (DAP),        and the other UT is the designated UT (DUT).    -   The DAP sends MIMO pilot to the DUT along with a request to        establish link, which contains the BSS ID plus the DAP ID. The        request needs to be sent in a common mode (i.e. Tx diversity).    -   The DUT responds by sending back steered MIMO pilot plus an        acknowledgement which contains the DUT ID, its BSS ID, and some        rate indicator for the DAP to use.    -   The DAP can then use steering on the DL and the DUT can use        steering on the UL. Rate control and tracking can be        accommodated by breaking the transmissions into DL and UL        segments with sufficient time between them to allow for        processing.

(iii) UTs that belong to one BSS (e.g., BSS1) can steer to UTs thatbelong to another BSS (e.g., BSS2), even though each has calibrated witha different AP. However, there will be a phase rotation ambiguity (persubband) in this case. This is because the calibration procedure asdescribed above establishes a reference which is unique to the AP it hascalibrated with. The reference is a complex constant,

${\alpha\left( {k,j} \right)} = \frac{g_{APTX}(0)}{g_{APRX}(0)}$where k is the subband index and j is the AP index and 0 is the index ofthe reference antenna (e.g., antenna 0) used on the AP. In oneembodiment, this constant is common to all UTs in a given BSS, but isindependent for different BSSs.

As a result, when a UT from BSS1 communicates with a UT in BSS2,steering without correction or compensation for this constant may resultin a phase rotation and amplitude scaling of the entire eigensystem. Thephase rotation can be determined through the use of pilot (steered andunsteered) and removed in the receivers of each respective UT. In oneembodiment, the amplitude correction or compensation can simply be anSNR scaling and can be removed by estimation of the noise floor at eachreceiver, which may impact rate selection.

In various embodiments, the peer-peer exchange between UTs that belongto different BSSs may work as follows:

-   -   The initiator of the peer-peer link (e.g., UT in BSS1) is the        designate AP (DAP), and the other UT (e.g., UT in BSS2) is the        designated UT (DUT).    -   The DAP sends MIMO pilot to the DUT along with a request to        establish link, which contains the respective BSS ID plus the        DAP ID. The request needs to be sent in a common mode (i.e. Tx        diversity).    -   The DUT responds by sending back steered MIMO pilot plus an        acknowledgement which contains DUT ID, its BSS ID, and some rate        indicator for the DAP to use.    -   The DAP receiver (Rx) can estimate the phase rotation on the        uplink (UL) and apply the correction constant to each subband.        The DAP can then use steering on the downlink (DL) but needs to        include a preamble of steered reference on at least the first        steered packet to allow the DUT receiver (Rx) to correct or        compensate for the phase rotation on the DL for each subband.        Subsequent DL transmissions may not require a steered reference        preamble. Rate control and tracking can be accommodated by        breaking the transmissions into DL and UL segments with        sufficient time between them to allow for processing.

The calibration techniques described herein may be implemented byvarious means. For example, these techniques may be implemented inhardware, software, or a combination thereof. For a hardwareimplementation, the techniques may be implemented at the access pointand user terminal within one or more application specific integratedcircuits (ASICs), digital signal processors (DSPs), digital signalprocessing devices (DSPDs), programmable logic devices (PLDs), fieldprogrammable gate arrays (FPGAs), processors, controllers,micro-controllers, microprocessors, other electronic units designed toperform the functions described herein, or a combination thereof.

For a software implementation, the calibration techniques may beimplemented with modules (e.g., procedures, functions, and so on) thatperform the functions described herein. The software codes may be storedin a memory unit (e.g., memory units 532 and 582 in FIG. 5) and executedby a processor (e.g., controllers 530 and 580, as appropriate). Thememory unit may be implemented within the processor or external to theprocessor, in which case it can be communicatively coupled to theprocessor via various means as is known in the art.

Headings are included herein for reference and to aid in locatingcertain sections. These headings are not intended to limit the scope ofthe concepts described therein under, and these concepts may haveapplicability in other sections throughout the entire specification.

The previous description of the disclosed embodiments is provided toenable any person skilled in the art to make or use the presentinvention. Various modifications to these embodiments will be readilyapparent to those skilled in the art, and the generic principles definedherein may be applied to other embodiments without departing from thespirit or scope of the invention. Thus, the present invention is notintended to be limited to the embodiments shown herein but is to beaccorded the widest scope consistent with the principles and novelfeatures disclosed herein.

What is claimed is:
 1. A method for establishing peer-to-peercommunications by a first user terminal (UT) in a wireless communicationsystem, comprising: calibrating with an access point, by: obtaining anestimate of a downlink channel response; obtaining an estimate of anuplink channel response; determining first and second sets of correctionfactors based on the estimates of the downlink and uplink channelresponses; and calibrating a downlink channel and uplink channel basedon each of the first and second sets of correction factors,respectively, to form a calibrated downlink channel and a calibrateduplink channel; and determining a scaling value indicative of an averagedifference between the estimate of the downlink channel response and theestimate of the uplink channel response, wherein the estimates for thedownlink and uplink channel responses are normalized to account forreceiver noise floor; and establishing direct peer-to-peer communicationwith a second UT that has also calibrated with the same or a differentaccess point, wherein the establishing is performed without furthercalibration between the first and second UTs.
 2. The method of claim 1,wherein the first set of correction factors is used to scale symbolsprior to transmission on the calibrated downlink channel and the secondset of correction factors is used to scale symbols prior to transmissionon the calibrated uplink channel.
 3. The method of claim 1, wherein thefirst set of correction factors is used to scale symbols received on thecalibrated downlink channel and the second set of correction factors isused to scale symbols received on the calibrated uplink channel.
 4. Themethod of claim 1, wherein the first and second sets of correctionfactors are determined based on the following equation:Ĥ _(up) {circumflex over (K)} _(ut)=( Ĥ _(dn) {circumflex over (K)}_(ap))^(T), where Ĥ _(dn) is a matrix for the estimate of the downlinkchannel response, Ĥ _(up) is a matrix for the estimate of the uplinkchannel response, {circumflex over (K)} _(ap) is a matrix for the firstset of correction factors, {circumflex over (K)} _(ut) is a matrix forthe second set of correction factors, and “^(T)” denotes a transpose. 5.The method of claim 4, wherein determining the first and second sets ofcorrection factors includes: computing a matrix C as an element-wiseratio of the matrix Ĥ _(up) over the matrix Ĥ _(dn), and deriving thematrices {circumflex over (K)} _(ap) and {circumflex over (K)} _(ut)based on the matrix C.
 6. The method of claim 5, wherein the derivingthe matrix {circumflex over (K)} _(ut) includes normalizing each of aplurality of rows of the matrix C, and determining a mean of theplurality of normalized rows of the matrix C, and wherein the matrix{circumflex over (K)} _(ut) is formed based on the mean of the pluralityof normalized rows.
 7. The method of claim 5, wherein the deriving thematrix {circumflex over (K)} _(ap) includes normalizing each of aplurality of columns of the matrix C, and determining a mean of inversesof the plurality of normalized columns of the matrix C, and wherein thematrix {circumflex over (K)} _(ap) is formed based on the mean of theinverses of the plurality of normalized columns.
 8. The method of claim4, wherein the matrices {circumflex over (K)} _(ut) and {circumflex over(K)} _(ap) are derived based on a minimum mean square error (MMSE)computation.
 9. The method of claim 8, wherein the MMSE computationminimizes a mean square error (MSE) given as|Ĥ _(up) {circumflex over (K)} _(ut)−(Ĥ _(dn) {circumflex over (K)}_(ap))^(T)|².
 10. The method of claim 1, wherein the determining isperformed at a each user terminal.
 11. The method of claim 4, wherein afirst set of matrices of correction factors for the downlink channel isdetermined for a first set of subbands, the method further comprising:interpolating the first set of matrices to obtain a second set ofmatrices of correction factors for the downlink channel for a second setof subbands.
 12. The method of claim 1, wherein the estimates of thedownlink and uplink channel responses are each obtained based on a pilottransmitted from a plurality of antennas and orthogonalized with aplurality of orthogonal sequences.
 13. The method of claim 1 wherein theestimate of the uplink channel response is obtained based on a pilottransmitted on the uplink channel and wherein the estimate of thedownlink channel response is obtained based on a pilot transmitted onthe downlink channel.
 14. The method of claim 1, wherein the TDD systemis a multiple-input multiple-output (MIMO) system.
 15. The method ofclaim 1, wherein the TDD system utilizes orthogonal frequency divisionmultiplexing (OFDM).
 16. A method for establishing peer-to-peercommunications by a first user terminal (UT) in a wireless time divisionduplexed (TDD) multiple-input multiple-output (MIMO) communicationsystem, comprising: calibrating with an access point, by: transmitting apilot on an uplink channel; obtaining an estimate of an uplink channelresponse derived based on the pilot transmitted on the uplink channel;receiving a pilot on a downlink channel; obtaining an estimate of adownlink channel response derived based on the pilot received on thedownlink channel; and determining first and second sets of correctionfactors based on the estimates of the downlink and uplink channelresponses, wherein a calibrated downlink channel is formed by using thefirst set of correction factors for the downlink channel, and acalibrated uplink channel is formed by using the second set ofcorrection factors for the uplink channel; and scaling symbols with thefirst set of correction factors prior to transmission on the downlink;scaling symbols with the second set of correction factors prior totransmission on the uplink channel; and establishing direct peer-to-peercommunication with a second UT that has also calibrated with the accesspoint, wherein the establishing is performed without further calibrationbetween the first and second UTs.
 17. The method of claim 16, whereinthe first and second sets of correction factors are determined based ona minimum mean square error (MMSE) computation.
 18. The method of claim16, wherein the first and second sets of correction factors aredetermined based on a matrix-ratio computation.
 19. The method of claim16, wherein the first set of correction factors is updated based oncalibration with a plurality of user terminals.
 20. A first userterminal (UT) in a wireless time division duplexed (TDD) multiple-inputmultiple-output (MIMO) communication system, comprising: means forcalibrating with an access point, by: obtaining an estimate of adownlink channel response; obtaining an estimate of an uplink channelresponse; and determining first and second sets of correction factorsbased on the estimates of the downlink and uplink channel responses,wherein a calibrated downlink channel is formed by using the first setof correction factors for the downlink channel and a calibrated uplinkchannel is formed by using the second set of correction factors for theuplink channel; and determining a scaling value indicative of an averagedifference between the estimate of the downlink channel response and theestimate of the uplink channel response, wherein the estimates for thedownlink and uplink channel responses are normalized to account forreceiver noise floor; and means for establishing direct peer-to-peercommunication with a second UT that has also calibrated with an accesspoint, wherein the means for establishing is performed without furthercalibration between the first and second UTs.
 21. In a system forcalibrating downlink and uplink channels in a wireless time divisionduplexed (TDD) multiple-input multiple-output (MIMO) communicationsystem including an access point, a first user terminal (UT) and asecond UT, an access point comprising: a transmit (TX) spatial processorconfigured to transmit a pilot on the uplink channel for each of thefirst UT and the second UT; a receive (RX) spatial processor configuredto, for each of the first UT and the second UT, obtain an estimate of anuplink channel response derived based on the pilot transmitted on theuplink channel, receive a pilot on the downlink channel, and obtain anestimate of a downlink channel response derived based on the pilotreceived on the downlink channel; and a controller configured todetermine, for each of the first UT and the second UT, first and secondsets of correction factors based on the estimates of the downlink anduplink channel responses, wherein a calibrated downlink channel forpeer-to-peer communication between the first and second UTs is formed byusing the first set of correction factors for the downlink channel, anda calibrated uplink channel for peer-to-peer communication between thefirst and second UTs is formed by using the second set of correctionfactors for the uplink channel, and the controller further configured toestablish direct peer-to-peer communication between the first UT and thesecond UT without further calibration between them.
 22. A method forcommunication in a wireless system, comprising: calibrating one or morecommunication links between a plurality of user stations and one or moreaccess points, based on one or more sets of correction factors derivedfrom estimates of channel responses associated with the one or morecommunication links, the plurality of user stations including a firstuser station and a second user station; and establishing directpeer-to-peer communication between the first and second user stationsusing steering without performing calibration between the first andsecond user stations, wherein the one or more access points includes afirst access point associated with a first basic service set (BSS) and asecond access point associated with a second BSS, wherein the first userstation is calibrated with respect to the first access point and thesecond user station is calibrated with respect to the second accesspoint, and wherein establishing the direct peer-to-peer communicationbetween the first and second user stations comprises: sending, from thefirst user station, a pilot and a request to establish a communicationlink with the second user station; sending, from the second userstation, a steered pilot and an acknowledgment in response to receivingthe pilot and the request from first user station; and transmittinginformation between the first and second user stations using steeringthat is adjusted to compensate for a phase rotation caused bycalibration of the first and second user stations with respect todifferent access points.
 23. The method of claim 22, whereinestablishing the communication between the first and second userstations comprises: sending, from the first user station, a pilot and arequest to establish a communication link with the second user station;sending, from the second user station, a steered pilot and anacknowledgment in response to receiving the pilot and the request fromfirst user station; and transmitting information between the first andsecond user stations using steering based on the steered pilot.
 24. Themethod of claim 23 wherein the request to establish the communicationcomprises an identifier of a basic service set to which the first userstation belongs and an identifier of the first user station.
 25. Themethod of claim 23 wherein the acknowledgment comprises an identifier ofthe second user station, an identifier of a basic service set to whichthe second user station belongs, and a data rate indicator.
 26. Themethod of claim 22 wherein the phase rotation is determined based on thesteered pilot received from the second user station.
 27. An apparatusfor communication in a wireless system, comprising: means forcalibrating one or more communication links between a plurality of userstations and one or more access points, based on one or more sets ofcorrection factors derived from estimates of channel responsesassociated with the one or more communication links, the plurality ofuser stations including a first user station and a second user station;and means for establishing direct peer-to-peer communication between thefirst and second user stations using steering without performingcalibration between the first and second user stations, wherein the oneor more access points includes a first access point associated with afirst basic service set (BSS) and a second access point associated witha second BSS, wherein the first user station is calibrated with respectto the first access point and the second user station is calibrated withrespect to the second access point, and wherein the means forestablishing the direct peer-to-peer communication between the first andsecond user stations comprises: sending, from the first user station, apilot and a request to establish a communication link with the seconduser station; sending, from the second user station, a steered pilot andan acknowledgment in response to receiving the pilot and the requestfrom first user station; and transmitting information between the firstand second user stations using steering that is adjusted to compensatefor a phase rotation caused by calibration of the first and second userstations with respect to different access points.
 28. The apparatus ofclaim 27, wherein establishing the communication between the first andsecond user stations comprises: means for sending, from the first userstation, a pilot and a request to establish a communication link withthe second user station; means for sending, from the second userstation, a steered pilot and an acknowledgment in response to receivingthe pilot and the request from first user station; and means fortransmitting information between the first and second user stationsusing steering based on the steered pilot.
 29. The apparatus of claim 28wherein the request to establish the communication comprises anidentifier of a basic service set to which the first user stationbelongs and an identifier of the first user station.
 30. The apparatusof claim 28 wherein the acknowledgment comprises an identifier of thesecond user station, an identifier of a basic service set to which thesecond user station belongs, and a data rate indicator.
 31. Theapparatus of claim 27 wherein the phase rotation is determined based onthe steered pilot received from the second user station.